/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.tvdigital.controller;

import br.com.tvdigital.DAO.AdministradoresDAOImpl;
import br.com.tvdigital.DAO.GenericDAO;
import br.com.tvdigital.DAO.PessoasDAOImpl;
import br.com.tvdigital.model.Administradores;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 *
 * @author PC 05
 */
public class SalvarAdministrador extends HttpServlet {

    /**
     * Processes requests for both HTTP
     * <code>GET</code> and
     * <code>POST</code> methods.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        String idPessoa = request.getParameter("idPessoa");
        String nomePessoa = request.getParameter("nomePessoa");
        String emailPessoa = request.getParameter("emailPessoa");
        String loginPessoa = request.getParameter("loginPessoa");
        String senhaPessoa = request.getParameter("senhaPessoa");
        if ("".equals(idPessoa)) {
            Administradores administrador = new Administradores();
            administrador.setNomePessoa(nomePessoa);
            administrador.setEmailPessoa(emailPessoa);
            administrador.setLoginPessoa(loginPessoa);
            administrador.setSenhaPessoa(senhaPessoa);
            administrador.setTipoPessoa("A");
            String mensagem = null;
            try {
               
                GenericDAO dao = new AdministradoresDAOImpl();
                if (dao.cadastrar(administrador)) {
                    mensagem = "Administrador cadastrado com sucesso!";
                } else {
                    mensagem = "Problemas ao cadastrar Administrador!";
                }
                request.setAttribute("mensagem", mensagem);
                request.getRequestDispatcher("CarregarAdministrador").forward(request, response);

            } catch (Exception ex) {
                System.out.println("Problemas no Servlet ao cadastrar administrador! Erro: " + ex.getMessage());
                ex.printStackTrace();
            }
        } else {
            Administradores administrador = new Administradores();
            administrador.setIdPessoa(Integer.parseInt(idPessoa));
            administrador.setNomePessoa(nomePessoa);
            administrador.setEmailPessoa(emailPessoa);
            administrador.setLoginPessoa(loginPessoa);
            administrador.setSenhaPessoa(senhaPessoa);
            administrador.setTipoPessoa("A");

            String mensagem = null;

            try {
               //GenericDAO dao = new AdministradoresDAOImpl();
                PessoasDAOImpl pessoa = new PessoasDAOImpl();
                if (pessoa.alterarPessoa(administrador)) {
                    mensagem = "Administrador alterado com sucesso!";
                } else {
                    mensagem = "Problemas ao alterar Administrador!";
                }
                request.setAttribute("mensagem", mensagem);
                request.getRequestDispatcher("CarregarAdministrador").forward(request, response);
            } catch (Exception ex) {
                System.out.println("Problemas no Servelet ao alterar Administrador! Erro: " + ex.getMessage());
                ex.printStackTrace();
            }
        }
    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /**
     * Handles the HTTP
     * <code>GET</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Handles the HTTP
     * <code>POST</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Returns a short description of the servlet.
     *
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>
}
